/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.ufrn.engcomp.pds.helloopc.controle;

import br.ufrn.engcomp.pds.helloopc.modelo.dominio.ServidorOPC;
import br.ufrn.engcomp.pds.helloopc.modelo.negocio.ConectarServidorOPCNegocio;
import br.ufrn.engcomp.pds.helloopc.modelo.negocio.excecao.NegocioException;
import br.ufrn.engcomp.pds.helloopc.visao.excecao.VisaoException;
import java.util.List;

/**
 *
 * @author Felipe Rivas
 */
public class ConectarServidorOPCController {

    private ConectarServidorOPCNegocio negocio = new ConectarServidorOPCNegocio();

    public List<ServidorOPC> listarServidoresOPC() {
        return negocio.listarServidoresOPC();
    }

    public void conectar(ServidorOPC servidorOPC) throws VisaoException {
        try {
            negocio.conectar(servidorOPC);
        } catch (NegocioException nex) {
            throw new VisaoException(nex.getMessage());
        }
    }

    public void desconectar() throws VisaoException {
        negocio.desconectar();
    }

    public void finalizar() {
        negocio.finalizar();
    }

    public boolean estaConectado() {
        return negocio.estaConectado();
    }

    public String getNomeServidorConectado() throws VisaoException {
        try {
            return negocio.getNomeServidor();
        } catch (NegocioException nex) {
            throw new VisaoException(nex.getMessage());
        }
    }

}
